Pràctiques de «Tecnologia i digitalització» amb Blockly@Arduino / ESP32 / WeMos D1 R32
Activitat Cinta corredera
Components
- Targeta ESP32 o Wemos D1 R32
- Driver L298
- Motor de continua amb reductora.
- Pila de 9V
- Emissor làser KY-008
- Resistència depenent de la llum (LDR)
- Resistència de 10K
- Fustes variades amb contruir la cinta corredera
- Cables mascle-mascle i mascle-femella d'Arduino
El muntatge electrònic
L'eixida del monitor sèrie quan el feix de llum làser impacta contra el LDR
El programa que cal fer amb BlocklyArduino
El programa amb l'IDE Arduino
int pinLaser = 3;
int Valor_LDR;
// Motor A Horari
void Motor_A_Horari() {
Serial.println("Escut L298 motor A Horari");
Serial.println("Activem IN1=14");
digitalWrite(14, HIGH);
Serial.println("Desactivem IN2=12");
digitalWrite(12, LOW);
}
// Motor A antiHorari
void Motor_A_antiHorari() {
Serial.println("Escut L298 motor A antiHorari");
Serial.println("Desactivem IN1=14 ");
digitalWrite(14, LOW);
Serial.println("Activem IN2=12");
digitalWrite(12, HIGH);
}
// Atura motor A
void Atura_Motor_A() {
Serial.println("Escut L298 motor A aturat");
Serial.println("Desactivem IN1=14");
digitalWrite(14, LOW);
Serial.println("Desactivem IN2=12");
digitalWrite(12, LOW);
}
void setup() {
pinMode(14, OUTPUT);
pinMode(12, OUTPUT);
Serial.begin(115200);
pinMode(pinLaser, OUTPUT);
Serial.println("El valor de LDR varia entre 0 i 4095");
Serial.println("Un valor alta equival a molt llum");
Serial.println("Un valor baix equival a poca llum");
}
void loop() {
Serial.println("Activem el làser");
digitalWrite(pinLaser, HIGH);
Serial.println("Llegim el LDR");
Serial.println("Sempre que estiguen alineats");
Valor_LDR = analogRead(15);
Serial.print("Lectura LDR = ");
Serial.println(Valor_LDR);
delay(1000); // Temporal borrar després
if (Valor_LDR < 2000) {
Atura_Motor_A();
delay(200);
}
if (Valor_LDR > 2000) {
Motor_A_Horari();
delay(200);
}
}// final void_loop
Llicenciat sota la Llicència Creative Commons Reconeixement CompartirIgual 4.0